****** REPLICATION DATASET FOR RASMUSSEN AND KNUTSEN 2024 WORLD POLITICS ******

* STATA 18


****** Install ***
findit estout
****** RUN ****
use "filepath here" 
*** Create electoral data ****
*Arbeiderpartiet:              
gen sos_vote =.
*** 1922 -
replace sos_vote =  3251  if periode == 71 &	Valgdistrikt_kode == 1900
replace sos_vote =  12728  if periode == 71 &	Valgdistrikt_kode == 2900
replace sos_vote =  17799  if periode == 71 &	Valgdistrikt_kode == 4900
replace sos_vote =  7315  if periode == 71 &	Valgdistrikt_kode == 5900
replace sos_vote = 12060    if periode == 71 &	Valgdistrikt_kode == 6900
replace sos_vote =  3289    if periode == 71 &	Valgdistrikt_kode == 7900
replace sos_vote =   6828   if periode == 71 &	Valgdistrikt_kode == 8900
replace sos_vote =   2250   if periode == 71 &	Valgdistrikt_kode == 9900
replace sos_vote =   1622   if periode == 71 &	Valgdistrikt_kode == 10900
replace sos_vote =    2287  if periode == 71 &	Valgdistrikt_kode == 11900
replace sos_vote =   5259   if periode == 71 &	Valgdistrikt_kode == 12900
replace sos_vote =   2787   if periode == 71 &	Valgdistrikt_kode == 14900
replace sos_vote =  2669    if periode == 71 &	Valgdistrikt_kode == 15900
replace sos_vote =   8434   if periode == 71 &	Valgdistrikt_kode == 16900
replace sos_vote =  5077    if periode == 71 &	Valgdistrikt_kode == 17900
replace sos_vote =  10057    if periode == 71 &	Valgdistrikt_kode == 18900
replace sos_vote =  7330     if periode == 71 &	Valgdistrikt_kode == 19900
replace sos_vote =  2261    if periode == 71 &	Valgdistrikt_kode == 20900
replace sos_vote =   2366    if periode == 71 &	Valgdistrikt_kode == 88610
replace sos_vote =  34553      if periode == 71 &	Valgdistrikt_kode == 3900
replace sos_vote =    2632    if periode == 71 &	Valgdistrikt_kode == 88616
replace sos_vote =    4626    if periode == 71 &	Valgdistrikt_kode == 6840
replace sos_vote = 2824       if periode == 71 &	Valgdistrikt_kode == 7820
replace sos_vote =    4593    if periode == 71 &	Valgdistrikt_kode == 88619
replace sos_vote =    6313    if periode == 71 &	Valgdistrikt_kode == 88622
replace sos_vote =     9829   if periode == 71 &	Valgdistrikt_kode == 12010
replace sos_vote =   2390    if periode == 71 &	Valgdistrikt_kode == 15820
replace sos_vote =  6203     if periode == 71 &	Valgdistrikt_kode == 88623
replace sos_vote =    2990   if periode == 71 &	Valgdistrikt_kode == 88630
*worker democrats or independent workerlists
gen workdemos_vote =.
*** 1922
replace workdemos_vote = 0 if periode == 71 &	Valgdistrikt_kode == 1900
replace workdemos_vote =  0  if periode == 71 &	Valgdistrikt_kode == 2900
replace workdemos_vote =  2879  if periode == 71 &	Valgdistrikt_kode == 4900
replace workdemos_vote =  14685    if periode == 71 &	Valgdistrikt_kode == 5900
replace workdemos_vote =  0  if periode == 71 &	Valgdistrikt_kode == 6900
replace workdemos_vote =  0   if periode == 71 &	Valgdistrikt_kode == 7900
replace workdemos_vote =  0    if periode == 71 &	Valgdistrikt_kode == 8900 
*did colist with venstre*
replace workdemos_vote =  0    if periode == 71 &	Valgdistrikt_kode == 9900
replace workdemos_vote =  0    if periode == 71 &	Valgdistrikt_kode == 10900
replace workdemos_vote =   0   if periode == 71 &	Valgdistrikt_kode == 11900
replace workdemos_vote =   0   if periode == 71 &	Valgdistrikt_kode == 12900
replace workdemos_vote =   1025    if periode == 71 &	Valgdistrikt_kode == 14900
replace workdemos_vote =    0  if periode == 71 &	Valgdistrikt_kode == 15900
replace workdemos_vote =  2170      if periode == 71 &	Valgdistrikt_kode == 17900
replace workdemos_vote =  877      if periode == 71 &	Valgdistrikt_kode == 18900
replace workdemos_vote =   0   if periode == 71 &	Valgdistrikt_kode == 19900
replace workdemos_vote =  0   if periode == 71 &	Valgdistrikt_kode == 20900
replace workdemos_vote =  0    if periode == 71 &	Valgdistrikt_kode == 88610
replace workdemos_vote = 0     if periode == 71 &	Valgdistrikt_kode == 3900
replace workdemos_vote =    0    if periode == 71 &	Valgdistrikt_kode == 88616
replace workdemos_vote =   0     if periode == 71 &	Valgdistrikt_kode == 6840
replace workdemos_vote =  0      if periode == 71 &	Valgdistrikt_kode == 7820
replace workdemos_vote =  2822          if periode == 71 &	Valgdistrikt_kode == 88619
replace workdemos_vote =  0      if periode == 71 &	Valgdistrikt_kode == 88622
replace workdemos_vote =   0     if periode == 71 &	Valgdistrikt_kode == 12010
replace workdemos_vote =   0     if periode == 71 &	Valgdistrikt_kode == 15820
replace workdemos_vote =   0    if periode == 71 &	Valgdistrikt_kode == 88623
replace workdemos_vote =    0   if periode == 71 &	Valgdistrikt_kode == 88630
*** Social democrat votes: 1922
gen sos_dem_vote =.
replace sos_dem_vote = 0  if periode <71 
replace sos_dem_vote = 9192  if periode == 71 &	Valgdistrikt_kode == 1900
replace sos_dem_vote =  8351  if periode == 71 &	Valgdistrikt_kode == 2900
replace sos_dem_vote =  1920  if periode == 71 &	Valgdistrikt_kode == 4900
replace sos_dem_vote = 1054   if periode == 71 &	Valgdistrikt_kode == 5900
replace sos_dem_vote =  2136  if periode == 71 &	Valgdistrikt_kode == 6900
replace sos_dem_vote =  1486   if periode == 71 &	Valgdistrikt_kode == 7900
replace sos_dem_vote =   1992   if periode == 71 &	Valgdistrikt_kode == 8900
replace sos_dem_vote =  1915    if periode == 71 &	Valgdistrikt_kode == 9900
replace sos_dem_vote =    348   if periode == 71 &	Valgdistrikt_kode == 10900
replace sos_dem_vote =    1498  if periode == 71 &	Valgdistrikt_kode == 11900
replace sos_dem_vote =   1705    if periode == 71 &	Valgdistrikt_kode == 12900
replace sos_dem_vote =   0   if periode == 71 &	Valgdistrikt_kode == 14900
replace sos_dem_vote =   3449    if periode == 71 &	Valgdistrikt_kode == 15900
replace sos_dem_vote =   852   if periode == 71 &	Valgdistrikt_kode == 16900
replace sos_dem_vote =   2131   if periode == 71 &	Valgdistrikt_kode == 17900
replace sos_dem_vote =  1229    if periode == 71 &	Valgdistrikt_kode == 18900
replace sos_dem_vote =  2788    if periode == 71 &	Valgdistrikt_kode == 19900
replace sos_dem_vote =  876    if periode == 71 &	Valgdistrikt_kode == 20900
replace sos_dem_vote =   6729   if periode == 71 &	Valgdistrikt_kode == 88610
replace sos_dem_vote =   11526  if periode == 71 &	Valgdistrikt_kode == 3900
replace sos_dem_vote =    840     if periode == 71 &	Valgdistrikt_kode == 88616
replace sos_dem_vote =    2843      if periode == 71 &	Valgdistrikt_kode == 6840
replace sos_dem_vote =     2252    if periode == 71 &	Valgdistrikt_kode == 7820
replace sos_dem_vote =  1513     if periode == 71 &	Valgdistrikt_kode == 88619
replace sos_dem_vote =     4297    if periode == 71 &	Valgdistrikt_kode == 88622
replace sos_dem_vote =     4932    if periode == 71 &	Valgdistrikt_kode == 12010
replace sos_dem_vote =   3306      if periode == 71 &	Valgdistrikt_kode == 15820
replace sos_dem_vote =    1890    if periode == 71 &	Valgdistrikt_kode == 88623
replace sos_dem_vote =    579    if periode == 71 &	Valgdistrikt_kode == 88630
* population in district 
gen pop_distr =. 
*** 1922
replace pop_distr =  113446  if periode == 71 &	Valgdistrikt_kode == 1900
replace pop_distr =  177896   if periode == 71 &	Valgdistrikt_kode == 2900
replace pop_distr =  141398  if periode == 71 &	Valgdistrikt_kode == 4900
replace pop_distr =  119139  if periode == 71 &	Valgdistrikt_kode == 5900
replace pop_distr =  100807   if periode == 71 &	Valgdistrikt_kode == 6900
replace pop_distr =  81600   if periode == 71 &	Valgdistrikt_kode == 7900
replace pop_distr =  86556   if periode == 71 &	Valgdistrikt_kode == 8900
replace pop_distr =  58853    if periode == 71 &	Valgdistrikt_kode == 9900
replace pop_distr =   58423    if periode == 71 &	Valgdistrikt_kode == 10900
replace pop_distr =   106080    if periode == 71 &	Valgdistrikt_kode == 11900
replace pop_distr =   154484    if periode == 71 &	Valgdistrikt_kode == 12900
replace pop_distr =   90114   if periode == 71 &	Valgdistrikt_kode == 14900
replace pop_distr =   124944   if periode == 71 &	Valgdistrikt_kode == 15900
replace pop_distr =    111767  if periode == 71 &	Valgdistrikt_kode == 16900
replace pop_distr =   87535  if periode == 71 &	Valgdistrikt_kode == 17900
replace pop_distr =  163119    if periode == 71 &	Valgdistrikt_kode == 18900
replace pop_distr =   80679    if periode == 71 &	Valgdistrikt_kode == 19900
replace pop_distr =  35912   if periode == 71 &	Valgdistrikt_kode == 20900
replace pop_distr = 48748    if periode == 71 &	Valgdistrikt_kode == 88610
replace pop_distr =  258483    if periode == 71 &	Valgdistrikt_kode == 3900
replace pop_distr =   18231    if periode == 71 &	Valgdistrikt_kode == 88616
replace pop_distr =  36442      if periode == 71 &	Valgdistrikt_kode == 6840
replace pop_distr =  42460     if periode == 71 &	Valgdistrikt_kode == 7820
replace pop_distr =    54536   if periode == 71 &	Valgdistrikt_kode == 88619
replace pop_distr =    84727    if periode == 71 &	Valgdistrikt_kode == 88622
replace pop_distr =   93177     if periode == 71 &	Valgdistrikt_kode == 12010
replace pop_distr =     34447   if periode == 71 &	Valgdistrikt_kode == 15820
replace pop_distr =   56716    if periode == 71 &	Valgdistrikt_kode == 88623
replace pop_distr =   29056    if periode == 71 &	Valgdistrikt_kode == 88630
*eligible voters
gen eligble_vote =. 
*** 1922
replace eligble_vote =  52784  if periode == 71 &	Valgdistrikt_kode == 1900
replace eligble_vote =  89187   if periode == 71 &	Valgdistrikt_kode == 2900
replace eligble_vote =  69151  if periode == 71 &	Valgdistrikt_kode == 4900
replace eligble_vote =  62486    if periode == 71 &	Valgdistrikt_kode == 5900
replace eligble_vote =  50500  if periode == 71 &	Valgdistrikt_kode == 6900
replace eligble_vote = 40902     if periode == 71 &	Valgdistrikt_kode == 7900
replace eligble_vote =   44660      if periode == 71 &	Valgdistrikt_kode == 8900
replace eligble_vote =  31651      if periode == 71 &	Valgdistrikt_kode == 9900
replace eligble_vote =    30695    if periode == 71 &	Valgdistrikt_kode == 10900
replace eligble_vote =  51261     if periode == 71 &	Valgdistrikt_kode == 11900
replace eligble_vote =   77727    if periode == 71 &	Valgdistrikt_kode == 12900
replace eligble_vote =   48614    if periode == 71 &	Valgdistrikt_kode == 14900
replace eligble_vote =     64820   if periode == 71 &	Valgdistrikt_kode == 15900
replace eligble_vote =  56720      if periode == 71 &	Valgdistrikt_kode == 16900
replace eligble_vote =   45566   if periode == 71 &	Valgdistrikt_kode == 17900
replace eligble_vote =    77512   if periode == 71 &	Valgdistrikt_kode == 18900
replace eligble_vote =  38407   if periode == 71 &	Valgdistrikt_kode == 19900
replace eligble_vote =    16302     if periode == 71 &	Valgdistrikt_kode == 20900
replace eligble_vote =  23678     if periode == 71 &	Valgdistrikt_kode == 88610
replace eligble_vote =   144572    if periode == 71 &	Valgdistrikt_kode == 3900
replace eligble_vote =   9569      if periode == 71 &	Valgdistrikt_kode == 88616
replace eligble_vote =      19020    if periode == 71 &	Valgdistrikt_kode == 6840
replace eligble_vote =    220090      if periode == 71 &	Valgdistrikt_kode == 7820
replace eligble_vote =     28927     if periode == 71 &	Valgdistrikt_kode == 88619
replace eligble_vote =   430070       if periode == 71 &	Valgdistrikt_kode == 88622
replace eligble_vote =    51156      if periode == 71 &	Valgdistrikt_kode == 12010
replace eligble_vote =    17855     if periode == 71 &	Valgdistrikt_kode == 15820
replace eligble_vote =     29719   if periode == 71 &	Valgdistrikt_kode == 88623
replace eligble_vote =     14075    if periode == 71 &	Valgdistrikt_kode == 88630
*eligible women
gen eligble_women =. 
*** 1922
replace eligble_women = 26505  if periode == 71 &	Valgdistrikt_kode == 1900
replace eligble_women =  46512   if periode == 71 &	Valgdistrikt_kode == 2900
replace eligble_women = 34922   if periode == 71 &	Valgdistrikt_kode == 4900
replace eligble_women = 31225   if periode == 71 &	Valgdistrikt_kode == 5900
replace eligble_women =  25043 if periode == 71 &	Valgdistrikt_kode == 6900
replace eligble_women =  21084   if periode == 71 &	Valgdistrikt_kode == 7900
replace eligble_women =   21832   if periode == 71 &	Valgdistrikt_kode == 8900
replace eligble_women =   16355   if periode == 71 &	Valgdistrikt_kode == 9900
replace eligble_women =   16308   if periode == 71 &	Valgdistrikt_kode == 10900
replace eligble_women =   26765   if periode == 71 &	Valgdistrikt_kode == 11900
replace eligble_women =   41430   if periode == 71 &	Valgdistrikt_kode == 12900
replace eligble_women =   26064   if periode == 71 &	Valgdistrikt_kode == 14900
replace eligble_women =   34032    if periode == 71 &	Valgdistrikt_kode == 15900
replace eligble_women =   29235    if periode == 71 &	Valgdistrikt_kode == 16900
replace eligble_women =    23895     if periode == 71 &	Valgdistrikt_kode == 17900
replace eligble_women =  39209     if periode == 71 &	Valgdistrikt_kode == 18900
replace eligble_women =  18846     if periode == 71 &	Valgdistrikt_kode == 19900
replace eligble_women =   7829 if periode == 71 &	Valgdistrikt_kode == 20900
replace eligble_women =   13124    if periode == 71 &	Valgdistrikt_kode == 88610
replace eligble_women =   83654   if periode == 71 &	Valgdistrikt_kode == 3900
replace eligble_women =   5358       if periode == 71 &	Valgdistrikt_kode == 88616
replace eligble_women =    10405     if periode == 71 &	Valgdistrikt_kode == 6840
replace eligble_women =   12286      if periode == 71 &	Valgdistrikt_kode == 7820
replace eligble_women =     16056    if periode == 71 &	Valgdistrikt_kode == 88619
replace eligble_women =     24530   if periode == 71 &	Valgdistrikt_kode == 88622
replace eligble_women =   29189      if periode == 71 &	Valgdistrikt_kode == 12010
replace eligble_women =    9800     if periode == 71 &	Valgdistrikt_kode == 15820
replace eligble_women =    16831     if periode == 71 &	Valgdistrikt_kode == 88623
replace eligble_women =    7577   if periode == 71 &	Valgdistrikt_kode == 88630
*female vote: frist round
gen female_vote =.
*** 1922 
replace female_vote = 14380  if periode == 71 &	Valgdistrikt_kode == 1900
replace female_vote =  28210  if periode == 71 &	Valgdistrikt_kode == 2900
replace female_vote = 21230   if periode == 71 &	Valgdistrikt_kode == 4900
replace female_vote =  19598  if periode == 71 &	Valgdistrikt_kode == 5900
replace female_vote =  16505  if periode == 71 &	Valgdistrikt_kode == 6900
replace female_vote =  10694   if periode == 71 &	Valgdistrikt_kode == 7900
replace female_vote =   10971   if periode == 71 &	Valgdistrikt_kode == 8900
replace female_vote =   7907   if periode == 71 &	Valgdistrikt_kode == 9900
replace female_vote =   7714   if periode == 71 &	Valgdistrikt_kode == 10900
replace female_vote =   13683   if periode == 71 &	Valgdistrikt_kode == 11900
replace female_vote =    20511  if periode == 71 &	Valgdistrikt_kode == 12900
replace female_vote =   12748   if periode == 71 &	Valgdistrikt_kode == 14900
replace female_vote =   19119    if periode == 71 &	Valgdistrikt_kode == 15900
replace female_vote =  14389    if periode == 71 &	Valgdistrikt_kode == 16900
replace female_vote =  12675   if periode == 71 &	Valgdistrikt_kode == 17900
replace female_vote = 19353     if periode == 71 &	Valgdistrikt_kode == 18900
replace female_vote =  8928      if periode == 71 &	Valgdistrikt_kode == 19900
replace female_vote =   9234    if periode == 71 &	Valgdistrikt_kode == 20900
replace female_vote =   4165    if periode == 71 &	Valgdistrikt_kode == 88610
replace female_vote =   61764    if periode == 71 &	Valgdistrikt_kode == 3900
replace female_vote =   4268      if periode == 71 &	Valgdistrikt_kode == 88616
replace female_vote =   7917     if periode == 71 &	Valgdistrikt_kode == 6840
replace female_vote =   8659     if periode == 71 &	Valgdistrikt_kode == 7820
replace female_vote =    10261    if periode == 71 &	Valgdistrikt_kode == 88619
replace female_vote =     17839      if periode == 71 &	Valgdistrikt_kode == 88622
replace female_vote =  21520      if periode == 71 &	Valgdistrikt_kode == 12010
replace female_vote =   7859      if periode == 71 &	Valgdistrikt_kode == 15820
replace female_vote =   12335    if periode == 71 &	Valgdistrikt_kode == 88623
replace female_vote =      5310    if periode == 71 &	Valgdistrikt_kode == 88630
* postal votes
gen postal_vote =.
*** 1922
replace postal_vote = 1837     if periode == 71 &	Valgdistrikt_kode == 1900
replace postal_vote =  3079  if periode == 71 &	Valgdistrikt_kode == 2900
replace postal_vote =  2240  if periode == 71 &	Valgdistrikt_kode == 4900
replace postal_vote =  2445  if periode == 71 &	Valgdistrikt_kode == 5900
replace postal_vote =  2182  if periode == 71 &	Valgdistrikt_kode == 6900
replace postal_vote =   1698  if periode == 71 &	Valgdistrikt_kode == 7900
replace postal_vote =   928   if periode == 71 &	Valgdistrikt_kode == 8900
replace postal_vote =  1115     if periode == 71 &	Valgdistrikt_kode == 9900
replace postal_vote =  779    if periode == 71 &	Valgdistrikt_kode == 10900
replace postal_vote =  1262    if periode == 71 &	Valgdistrikt_kode == 11900
replace postal_vote =  20511    if periode == 71 &	Valgdistrikt_kode == 12900
replace postal_vote =   1472   if periode == 71 &	Valgdistrikt_kode == 14900
replace postal_vote =   2371    if periode == 71 &	Valgdistrikt_kode == 15900
replace postal_vote =   1880    if periode == 71 &	Valgdistrikt_kode == 16900
replace postal_vote =   1658      if periode == 71 &	Valgdistrikt_kode == 17900
replace postal_vote =   3880      if periode == 71 &	Valgdistrikt_kode == 18900
replace postal_vote =   2237      if periode == 71 &	Valgdistrikt_kode == 19900
replace postal_vote =   1557       if periode == 71 &	Valgdistrikt_kode == 20900
replace postal_vote =   1557     if periode == 71 &	Valgdistrikt_kode == 88610
replace postal_vote =   5586     if periode == 71 &	Valgdistrikt_kode == 3900
replace postal_vote =    571     if periode == 71 &	Valgdistrikt_kode == 88616
replace postal_vote =    840      if periode == 71 &	Valgdistrikt_kode == 6840
replace postal_vote =    1378      if periode == 71 &	Valgdistrikt_kode == 7820
replace postal_vote =       1890   if periode == 71 &	Valgdistrikt_kode == 88619
replace postal_vote =    2403   if periode == 71 &	Valgdistrikt_kode == 88622
replace postal_vote =   2906     if periode == 71 &	Valgdistrikt_kode == 12010
replace postal_vote =   1534      if periode == 71 &	Valgdistrikt_kode == 15820
replace postal_vote =   1648     if periode == 71 &	Valgdistrikt_kode == 88623
replace postal_vote =    1009    if periode == 71 &	Valgdistrikt_kode == 88630
*total approved votes*
gen total_vote =. 
*** 1922
replace total_vote = 33260  if periode == 71 &	Valgdistrikt_kode == 1900
replace total_vote = 61236   if periode == 71 &	Valgdistrikt_kode == 2900
replace total_vote =  48357  if periode == 71 &	Valgdistrikt_kode == 4900
replace total_vote =  43798  if periode == 71 &	Valgdistrikt_kode == 5900
replace total_vote =  36872 if periode == 71 &	Valgdistrikt_kode == 6900
replace total_vote =  24098   if periode == 71 &	Valgdistrikt_kode == 7900
replace total_vote =  26893   if periode == 71 &	Valgdistrikt_kode == 8900
replace total_vote =   18387   if periode == 71 &	Valgdistrikt_kode == 9900
replace total_vote =   17342   if periode == 71 &	Valgdistrikt_kode == 10900
replace total_vote =  30769    if periode == 71 &	Valgdistrikt_kode == 11900
replace total_vote =  45444    if periode == 71 &	Valgdistrikt_kode == 12900
replace total_vote =  29488    if periode == 71 &	Valgdistrikt_kode == 14900
replace total_vote =    43382  if periode == 71 &	Valgdistrikt_kode == 15900
replace total_vote =   33857   if periode == 71 &	Valgdistrikt_kode == 16900
replace total_vote =    29078  if periode == 71 &	Valgdistrikt_kode == 17900
replace total_vote =   44676   if periode == 71 &	Valgdistrikt_kode == 18900
replace total_vote =  21689    if periode == 71 &	Valgdistrikt_kode == 19900
replace total_vote =   9232   if periode == 71 &	Valgdistrikt_kode == 20900
replace total_vote =   9232   if periode == 71 &	Valgdistrikt_kode == 88610
replace total_vote =  110831    if periode == 71 &	Valgdistrikt_kode == 3900
replace total_vote =   7913     if periode == 71 &	Valgdistrikt_kode == 88616
replace total_vote =   14938     if periode == 71 &	Valgdistrikt_kode == 6840
replace total_vote =    16228    if periode == 71 &	Valgdistrikt_kode == 7820
replace total_vote =    19511    if periode == 71 &	Valgdistrikt_kode == 88619
replace total_vote =   32096      if periode == 71 &	Valgdistrikt_kode == 88622
replace total_vote =   38628      if periode == 71 &	Valgdistrikt_kode == 12010
replace total_vote =    14438    if periode == 71 &	Valgdistrikt_kode == 15820
replace total_vote =     22446   if periode == 71 &	Valgdistrikt_kode == 88623
replace total_vote =   10181   if periode == 71 &	Valgdistrikt_kode == 88630


***** TABLES

*** Table 3
*** col 1 table 3 **
 logit vote_all_1lessgenerous  pension_percentB   if elite==1 & old_subsidies==1  | old_national==1 & elite==1
 margins, dydx(pension_percentB) post
   estimates store Baseline
*** col 2 table 3 **
 logit vote_all_1lessgenerous  i.parti_kode if elite==1 & old_subsidies==1  | old_national==1 & elite==1
 margins, dydx(parti_kode) post
   estimates store Party
*** col 3 table 3 **
 logit vote_all_1lessgenerous  pension_percentB i.parti_kode if elite==1 & old_subsidies==1  | old_national==1  & elite==1
	  margins, dydx(pension_percentB parti_kode i.parti_kode) post
	  estimates store Party_control
*** col 4 table 3 **	 
 logit vote_all_1lessgenerous  pension_percentB i.NSD i.parti_kode if elite==1 & old_subsidies==1  | old_national==1  & elite==1
  margins, dydx(pension_percentB i.NSD i.parti_kode) post
  estimates store RCV_control
*** col 5 table 3 **
 logit vote_all_1lessgenerous  pension_percentB i.NSD  i.farmer i.teacher i.major_merchant i.minor_merchant i.landowners i.state_official i.Virkested1_landsdel i.parti_kode if elite==1 & old_subsidies==1  | old_national==1  & elite==1
 margins, dydx(pension_percentB i.NSD  i.farmer i.teacher i.major_merchant i.minor_merchant i.landowners i.state_official i.Virkested1_landsdel i.parti_kode) post
   estimates store  Additional_controls
*** col 6 table 3 **
  logit vote_all_1lessgenerous  pension_percentB i.NSD  i.farmer i.teacher i.major_merchant i.minor_merchant i.landowners i.state_official i.Virkested1_landsdel i.parti_kode i.Utdanning if elite==1 & old_subsidies==1  | old_national==1  & elite==1
 margins, dydx(pension_percentB i.NSD  i.farmer i.teacher i.major_merchant i.minor_merchant i.landowners i.state_official i.Virkested1_landsdel i.parti_kode  i.Utdanning) post
   estimates store  education_control
*Combine for table 3
	  esttab Baseline Party Party_control RCV_control Additional_controls education_control using "RCV_table1.rtf", r2 label nonotes  nomtitles   title("Table XX Average marginal effects from logit models on Roll Call Votes for or against pension reform 1923-1924.") b(a2) replace ///
                                  indicate("RCV dummies=*NSD*" "Class dummies =*farmer*" "Region dummies =*Virkested1_landsdel" "education dummies =*Utdanning*")  ///
	                                addnotes(t statistics in parentheses. region, class and RCV dummies are excluded for presentational reasons. The dependent variable takes the value 1 if an MP voted against a pension reform and 0 if not.)

*** Appendix tables 

*** Appendix A9 compiled manually from the following information
bysort parti_kode: sum  vote_all_1lessgenerous if old_subsidies==1  | old_national==1
bysort parti_kode: sum  pension_percentB if old_subsidies==1  | old_national==1

*Appendix A10
tabulate parti_kode, generate(party) 
  estpost  sum  vote_all_1lessgenerous  pension_percentB party1 party2 party3 party4 party9 party10 party11 farmer teacher major_merchant minor_merchant landowners state_official Virkested1_landsdel parti_kode Utdanning  if _est_education_control==1
esttab  using "descrptives_parla.rtf", replace cells("mean sd min max") nomtitle nonumber note(Roll-call dummies and education dummies not shown given the large number of categories)
*** Appendix A11
 estpost correlate  vote_all_1lessgenerous pension_percentB  party2  party4 party9  party11 farmer teacher major_merchant minor_merchant landowners state_official Virkested1_landsdel Utdanning  if _est_education_control==1, matrix listwise
esttab  using "pwcorr_rcv.rtf", replace unstack not noobs compress 
* Appendix A 13
  reg vote_all_1lessgenerous  pension_percentB if  old_subsidies==1  | old_national==1 
 margins, dydx(pension_percentB) post
   estimates store pension_share
  reg vote_all_1lessgenerous  i.parti_kode if  old_subsidies==1  | old_national==1 
 margins, dydx(parti_kode) post
   estimates store Baseline
    reg vote_all_1lessgenerous  pension_percentB i.parti_kode if old_subsidies==1  | old_national==1 
 margins, dydx(parti_kode pension_percentB) post
     estimates store Party_control
	   reg vote_all_1lessgenerous  pension_percentB i.NSD  i.Virkested1_landsdel i.parti_kode  if old_subsidies==1  | old_national==1
 margins, dydx(i.parti_kode pension_percentB) post
     estimates store fe_model	 
		   reg vote_all_1lessgenerous  pension_percentB i.NSD  i.farmer i.teacher i.major_merchant i.minor_merchant i.landowners i.state_official i.Virkested1_landsdel i.parti_kode if old_subsidies==1  | old_national==1  
 margins, dydx(i.parti_kode pension_percentB) post
     estimates store controls
	   reg vote_all_1lessgenerous  pension_percentB i.NSD  i.farmer i.teacher i.major_merchant i.minor_merchant i.landowners i.state_official i.Virkested1_landsdel i.parti_kode i.Utdanning if  old_subsidies==1  | old_national==1  
 margins, dydx(i.parti_kode pension_percentB) post
     estimates store controls_more
	 *put toghether
   	  esttab pension_share Baseline Party_control fe_model controls controls_more using "socialists_party.rtf", r2 label nonotes  nomtitles   title("Average marginal effects on the role of various parties on roll-call votes for or against pension reform 1923-1924.") b(a2) replace ///
                            	                                addnotes(t statistics in parentheses. The dependent variable takes the value 1 if an MP voted against a pension reform and 0 if not.)
   
*** Appendix A14    
logit vote_all_1lessgenerous pension_percentB  if elite==1
   margins, dydx(pension_percentB) post
      estimates store all
logit vote_all_1lessgenerous pension_percentB  if elite==1 & prog==1
   margins, dydx(pension_percentB) post
   estimates store unemployment
logit vote_all_1lessgenerous pension_percentB  if elite==1 & prog==2
   margins, dydx(pension_percentB) post
      estimates store sickness
logit vote_all_1lessgenerous pension_percentB  if elite==1 & prog==3
   margins, dydx(pension_percentB) post
         estimates store accident_benefits
logit vote_all_1lessgenerous pension_percentB  if elite==1 & prog==5
   margins, dydx(pension_percentB) post
            estimates store child_poor
logit vote_all_1lessgenerous pension_percentB  if elite==1 & prog==6
   margins, dydx(pension_percentB) post
            estimates store Employment_Protection
logit vote_all_1lessgenerous pension_percentB  if elite==1 & prog==8
     margins, dydx(pension_percentB) post
            estimates store housing
logit vote_all_1lessgenerous pension_percentB  if elite==1 &  NSD>19230000
   margins, dydx(pension_percentB) post
      estimates store all_1923
logit vote_all_1lessgenerous pension_percentB  if elite==1 & prog==1 & NSD>19230000
   margins, dydx(pension_percentB) post
   estimates store unemployment_1923		
logit vote_all_1lessgenerous pension_percentB  if elite==1 & prog==2 & NSD>19230000
   margins, dydx(pension_percentB) post
   estimates store sickness_1923		
logit vote_all_1lessgenerous pension_percentB  if elite==1 & prog==3 & NSD>19230000
   margins, dydx(pension_percentB) post
   estimates store accident_1923						
logit vote_all_1lessgenerous pension_percentB  if elite==1 & prog==5 & NSD>19230000
   margins, dydx(pension_percentB) post
   estimates store child_poor_1923			
logit vote_all_1lessgenerous pension_percentB  if elite==1 & prog==6 & NSD>19230000
   margins, dydx(pension_percentB) post
   estimates store Employment_Protection_1923		
logit vote_all_1lessgenerous pension_percentB  if elite==1 & prog==8 & NSD>19230000
   margins, dydx(pension_percentB) post
   estimates store housing_1923					
		** Put toghether
	  esttab all all_1923 unemployment unemployment_1923 sickness sickness_1923 accident_benefits accident_1923 child_poor child_poor_1923 Employment_Protection Employment_Protection_1923 housing housing_1923       using "robustnesstest.rtf", r2 label nonotes    title("Average marginal effects from logit models on roll-call votes for or against social reforms.") b(a2) replace ///
	                                addnotes(t statistics in parentheses. region, class and RCV dummies are excluded for presentational reasons. The dependent variable takes the value 1 if an MP voted against a pension reform and 0 if not.)   
   
*** Appendix A15 
  gen fem_mob = (female_vote)/eligble_women
gen turnout = (total_vote)/ eligble_vote  
  gen sos_perc = (sos_dem_vote+sos_vote)/total_vote
         logit vote_all_1lessgenerous  pension_percentB sos_perc turnout  fem_mob  sos_perc if elite==1 & old_subsidies==1  | old_national==1  & elite==1
   estimates store sosialist_control
      logit vote_all_1lessgenerous  pension_percentB i.NSD sos_perc turnout  fem_mob  sos_perc i.farmer i.teacher i.major_merchant i.minor_merchant i.landowners i.state_official i.Virkested1_landsdel i.parti_kode i.Utdanning if elite==1 & old_subsidies==1  | old_national==1  & elite==1
   estimates store sosialist_control3
** Put toghether
	  esttab sosialist_control sosialist_control3 using "RCV_table1.rtf", r2 label nonotes  nomtitles   title("Logit models on roll-call votes for or against pension reform.") b(a2) replace ///
                                  indicate("RCV dummies=*NSD*" "Class dummies =*farmer*" "Region dummies =*Virkested1_landsdel" "education dummies =*Utdanning*")  ///
	                                addnotes(t statistics in parentheses. region, class and RCV dummies are excluded for presentational reasons. The dependent variable takes the value 1 if an MP voted against a pension reform and 0 if not.)
									
***	Appendix A16
*split by reform type, had to use ols to get estimates.
  reg vote_all_1lessgenerous  pension_percentB  if elite==1 & old_subsidies==1  & elite==1
margins, dydx(pension_percentB  ) post
estimates store national_reforms1924A
  reg vote_all_1lessgenerous  pension_percentB  i.parti_kode if elite==1 & old_subsidies==1 
margins, dydx(pension_percentB  i.parti_kode) post
estimates store national_reforms1924B
  reg vote_all_1lessgenerous  pension_percentB  if elite==1 & old_national==1  & elite==1
margins, dydx(pension_percentB  ) post
estimates store national_reforms1923A
  reg vote_all_1lessgenerous  pension_percentB  i.parti_kode if elite==1 & old_national==1  & elite==1
  margins, dydx(pension_percentB  i.parti_kode) post
estimates store national_reforms1923B
*put toghether
	  esttab national_reforms1924A national_reforms1924B national_reforms1923A national_reforms1923B using "RCV_singlereform.rtf", r2 label nonotes  nomtitles   title("Average marginal effects from least squares regression models on roll-call votes for or against pension reform, split by state subsidy reform (1924) and national pension reform (1923)") b(a2) replace ///
                            	                                addnotes(t statistics in parentheses. The dependent variable takes the value 1 if an MP voted against a pension reform and 0 if not.)

***** Figure 

* figure 3
 logit vote_all_1lessgenerous  pension_percentB   if elite==1 & old_subsidies==1  | old_national==1 & elite==1
 margins,  at(pension_percentB=(0(.20)1))
marginsplot, saving(basic, replace) title("") xtitle("") ytitle("probability of voting against" "national old-age reform")
  logit vote_all_1lessgenerous  pension_percentB i.parti_kode if elite==1 & old_subsidies==1  | old_national==1  & elite==1
     estimates store figure
  margins,  at(pension_percentB=(0(.20)1))
marginsplot, saving(national_pensions, replace) title("") xtitle("") ytitle("probability of voting against" "national old-age reform")
histogram pension_percentB  if _est_figure==1, percent saving(nationalhistogram, replace) xtitle("Share of municipalities in election district with pensions")
graph combine basic.gph national_pensions.gph, col(1)   saving(national_mainresults, replace) ycommon

*** Appendix Figure

*Figure A12
 logit vote_all_1lessgenerous  pension_percentB   if elite==1 & old_subsidies==1  | old_national==1 & elite==1
   margins,  at(pension_percentB=(0(.20)1))
marginsplot, saving(basic, replace) title("") xtitle("") ytitle("probability of voting against" "national old-age reform")
  logit vote_all_1lessgenerous  pension_percentB i.parti_kode if elite==1 & old_subsidies==1  | old_national==1  & elite==1
  margins,  at(pension_percentB=(0(.20)1))
marginsplot, saving(national_pensions, replace) title("") xtitle("") ytitle("probability of voting against" "national old-age reform")
histogram pension_percentB  if _est_Baseline==1, percent saving(nationalhistogram, replace) xtitle("Share of municipalities in election district with pensions")
graph combine basic.gph nationalhistogram.gph, col(1)   saving(national_appendix, replace)



